go/types.genericType.Underlying (method)
34 uses
go/types (current package)
alias.go#L75: func (a *Alias) Underlying() Type { return unalias(a).Underlying() }
api_predicates.go#L22: if !isValid(T.Underlying()) {
api_predicates.go#L60: if !isValid(V.Underlying()) {
named.go#L712: return typ.Underlying()
type.go#L14: Underlying() Type
typestring.go#L217: if t == universeAnyAlias.Type().Underlying() {
under.go#L18: return t.Underlying()
universe.go#L114: _ = NewAlias(universeAnyAlias, universeAnyNoAlias.Type().Underlying()) // Link TypeName and Alias
golang.org/x/exp/apidiff
apidiff.go#L210: oIface, ok := otn1.Type().Underlying().(*types.Interface)
apidiff.go#L214: nIface, ok := nt1.Underlying().(*types.Interface)
compatibility.go#L202: t := f.Type().Underlying()
compatibility.go#L204: t = p.Elem().Underlying()
compatibility.go#L263: d.checkCompatible(otn, old.Underlying(), new.Underlying())
compatibility.go#L266: if reflect.TypeOf(old.Underlying()) != reflect.TypeOf(new.Underlying()) {
golang.org/x/tools/internal/gcimporter
iexport.go#L1306: switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
iexport.go#L1332: panic(internalErrorf("unexpected type %v (%v)", typ, typ.Underlying()))
iexport.go#L1393: basic, ok := typ.Underlying().(*types.Basic)
iexport.go#L1395: panic(internalErrorf("unexpected type %v (%T)", typ.Underlying(), typ.Underlying()))
iimport.go#L356: if iface, _ := typ.Underlying().(*types.Interface); iface != nil {
iimport.go#L612: underlying := r.p.typAt(r.uint64(), named).Underlying()
iimport.go#L695: switch b := typ.Underlying().(*types.Basic); b.Info() & types.IsConstType {
ureader_yes.go#L601: if underlying := rhs.Underlying(); underlying != nil {
ureader_yes.go#L613: setUnderlying(rhs.Underlying())
golang.org/x/tools/internal/typeparams
coretype.go#L16: U := T.Underlying()
coretype.go#L28: U = terms[0].Type().Underlying()
coretype.go#L31: if !types.Identical(U, terms[identical].Type().Underlying()) {
coretype.go#L49: curr, ok := terms[chans].Type().Underlying().(*types.Chan)
normalize.go#L68: iface, _ := constraint.Underlying().(*types.Interface)
normalize.go#L70: return nil, fmt.Errorf("constraint is %T, not *types.Interface", constraint.Underlying())
normalize.go#L158: switch u := t.Underlying().(type) {
normalize.go#L165: if _, ok := embedded.Underlying().(*types.TypeParam); ok {
normalize.go#L180: switch t.Type().Underlying().(type) {
normalize.go#L217: return t.Underlying()